<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hello vue</title>
    <script src="https://unpkg.com/vue@latest"></script>
</head>
<body>
    <div id="root"></div>
</body>
<script>
    //生命周期函数，在某一时刻会自动执行的函数
    //beforeCreate:mount调用后，初始化事件后立刻执行
    //created：数据和模版绑定之后执行
    //beforeMount:模版被编译成函数之前执行
    //mounted：利用模版和数据创建新的标签，并替换页面上原有的标签后执行
    //beforeUpdate:当data中的数据被修改时先执行
    //updated:data中的数据被修改且页面上的内容也被重新渲染
    //beforeUnmounted:当app.unmount被调用，app被销毁，但dom仍存在
    //unmounted：当app被销毁且dom完全销毁
    const app = Vue.createApp({
        data() {
            return {
                message: 'hello world'
            }
        },
        beforeMount() {
            console.log(document.getElementById('root').innerHTML)
        },
        mounted() {
            console.log('mounted')
            console.log(document.getElementById('root').innerHTML) //此时才会有内容
        },
        template:"<div>{{message}}</div>" //如果没有写template，会把root中的内容编译为模版
    });

    vm = app.mount("#root");
    console.log(vm.$data);
</script>
</html>